library(tidyverse)
methods.color <- setNames(scales::hue_pal()(6),
c("logit-simple", "PRS-max", "PRS-stringent",
"T-Trees", "logit-triple", "PRS-all"))
format_results <- function(results) {
results %>%
as_tibble() %>%
mutate(
par.causal = factor(map_chr(par.causal, ~paste(.x[1], .x[2], sep = " in ")),
levels = c("30 in HLA", paste(3 * 10^(1:3), "in all"))),
AUC = map_dbl(eval, ~bigstatsr::AUC(.x[, 1], .x[, 2]))
)
}
boot <- function(x, n = 1e4, f = mean) {
sd(replicate(n, f(sample(x, replace = TRUE))))
}
myggplot <- function(..., coeff = 1) {
bigstatsr:::MY_THEME(ggplot(...), coeff = coeff) +
theme(strip.text.x = element_text(size = rel(2)),
strip.text.y = element_text(size = rel(2)))
}
barplot_causal <- function(results, h2) {
results %>%
myggplot(aes(par.causal, AUC_mean, fill = method, color = method)) +
geom_hline(yintercept = 0.5, linetype = 2) +
geom_bar(stat = "identity", alpha = 0.3, position = position_dodge()) +
geom_errorbar(aes(ymin = AUC_mean - 2 * AUC_boot, ymax = AUC_mean + 2 * AUC_boot),
position = position_dodge(width = 0.9), color = "black", width = 0.2) +
scale_y_continuous(limits = c(0.5, NA), minor_breaks = 0:20 / 20,
oob = scales::rescale_none) +
labs(x = "Causal SNPs (number and location)", y = "Mean of 100 AUCs",
fill = "Method", color = "Method") +
scale_fill_manual(values = methods.color) +
scale_color_manual(values = methods.color)
}
barplot_causal_one <- function(results, h2) {
auc_max <- `if`(h2 == 0.8, 0.94, 0.84)
results %>%
filter(par.h2 == h2) %>%
barplot_causal() +
geom_hline(yintercept = auc_max, linetype = 3, color = "blue") +
facet_grid(par.dist ~ .)
}
barplot_causal_all <- function(results) {
results %>%
barplot_causal() +
geom_hline(aes(yintercept = auc_max), linetype = 3, color = "blue",
data = data.frame(par.h2 = c(0.5, 0.8), auc_max = c(0.84, 0.94))) +
facet_grid(par.dist ~ par.h2)
}
compare_logit <- function(results, with_method) {
results <- filter(
results, method %in% c("logit-simple", with_method), par.h2 == 0.8)
results.summary <- results %>%
group_by_at(c(vars(starts_with("par")), "method")) %>%
summarise(AUC_mean = mean(AUC), AUC_boot = boot(AUC), N = n()) %>%
print(n = Inf)
nsimu <- results.summary$N[[1]]
stopifnot(all(results.summary$N == nsimu))
plot_extra <- function(y, ylab = y) {
results %>%
myggplot() +
geom_boxplot(aes_string("par.causal", y, color = "method",
fill = "method"), alpha = 0.3) +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
facet_grid(par.model ~ par.dist) +
labs(x = "Causal SNPs (number and location)", y = ylab,
fill = "Method", color = "Method") +
theme(legend.position = "none") +
scale_fill_manual(values = methods.color) +
scale_color_manual(values = methods.color) +
scale_y_continuous(limits = c(0, NA))
}
p1 <- results.summary %>%
barplot_causal_one(h2 = 0.8) +
facet_grid(par.model ~ par.dist) +
labs(y = sprintf("Mean of %d AUCs", nsimu))
p2 <- cowplot::plot_grid(
plot_extra("nb.preds", "Number of predictors"),
plot_extra("timing", "Execution time (in seconds)"),
ncol = 1, align = "hv", scale = 0.95,
labels = LETTERS[2:3], label_size = 15
)
p12 <- cowplot::plot_grid(
p1 + theme(legend.position = "none"), p2,
ncol = 2, scale = 0.95, rel_widths = c(6, 4),
labels = c("A", ""), label_size = 15
)
cowplot::plot_grid(
cowplot::get_legend(p1 + theme(legend.direction = "horizontal")), p12,
rel_heights = c(0.1, 1), ncol = 1
)
}
results1 <- list.files("results1", full.names = TRUE) %>%
map_dfr(~readRDS(.x)) %>%
format_results()
compare_logit(results1, with_method = "T-Trees")
## # A tibble: 32 x 8
## # Groups: par.causal, par.dist, par.h2, par.model [?]
## par.causal par.dist par.h2 par.model method AUC_mean AUC_boot N
## <fctr> <chr> <dbl> <chr> <chr> <dbl> <dbl> <int>
## 1 30 in HLA gaussian 0.8 fancy logit-simple 0.9001502 0.005041356 5
## 2 30 in HLA gaussian 0.8 fancy T-Trees 0.8177493 0.001804819 5
## 3 30 in HLA gaussian 0.8 simple logit-simple 0.9424040 0.002020379 5
## 4 30 in HLA gaussian 0.8 simple T-Trees 0.8347770 0.011158842 5
## 5 30 in HLA laplace 0.8 fancy logit-simple 0.9008663 0.002036439 5
## 6 30 in HLA laplace 0.8 fancy T-Trees 0.8607568 0.008726435 5
## 7 30 in HLA laplace 0.8 simple logit-simple 0.9302174 0.003306620 5
## 8 30 in HLA laplace 0.8 simple T-Trees 0.8481380 0.008021937 5
## 9 30 in all gaussian 0.8 fancy logit-simple 0.8775273 0.007377715 5
## 10 30 in all gaussian 0.8 fancy T-Trees 0.8502545 0.004755569 5
## 11 30 in all gaussian 0.8 simple logit-simple 0.9323514 0.003096330 5
## 12 30 in all gaussian 0.8 simple T-Trees 0.8310516 0.012712039 5
## 13 30 in all laplace 0.8 fancy logit-simple 0.8932313 0.005663724 5
## 14 30 in all laplace 0.8 fancy T-Trees 0.8457449 0.011024057 5
## 15 30 in all laplace 0.8 simple logit-simple 0.9249049 0.004047868 5
## 16 30 in all laplace 0.8 simple T-Trees 0.8322151 0.008033911 5
## 17 300 in all gaussian 0.8 fancy logit-simple 0.7796750 0.003820701 5
## 18 300 in all gaussian 0.8 fancy T-Trees 0.6265848 0.010293201 5
## 19 300 in all gaussian 0.8 simple logit-simple 0.8527230 0.002981079 5
## 20 300 in all gaussian 0.8 simple T-Trees 0.6003698 0.012979123 5
## 21 300 in all laplace 0.8 fancy logit-simple 0.8259872 0.010084348 5
## 22 300 in all laplace 0.8 fancy T-Trees 0.7020579 0.005743821 5
## 23 300 in all laplace 0.8 simple logit-simple 0.8604749 0.002830282 5
## 24 300 in all laplace 0.8 simple T-Trees 0.6535618 0.019026523 5
## 25 3000 in all gaussian 0.8 fancy logit-simple 0.5738792 0.009238726 5
## 26 3000 in all gaussian 0.8 fancy T-Trees 0.5067176 0.003820574 5
## 27 3000 in all gaussian 0.8 simple logit-simple 0.5906757 0.007425038 5
## 28 3000 in all gaussian 0.8 simple T-Trees 0.5118337 0.008794708 5
## 29 3000 in all laplace 0.8 fancy logit-simple 0.6326039 0.003947736 5
## 30 3000 in all laplace 0.8 fancy T-Trees 0.5151644 0.006656163 5
## 31 3000 in all laplace 0.8 simple logit-simple 0.6329355 0.006442185 5
## 32 3000 in all laplace 0.8 simple T-Trees 0.5019465 0.007255742 5
ggsave("figures/supp-ttrees.pdf", scale = 1/90, width = 1400, height = 1060)
results2 <- list.files("results2", full.names = TRUE) %>%
map_dfr(~readRDS(.x)) %>%
format_results()
results2.summary <- results2 %>%
group_by_at(c(vars(starts_with("par")), "method")) %>%
summarise(AUC_mean = mean(AUC), AUC_boot = boot(AUC), N = n()) %>%
print(n = Inf)
## # A tibble: 160 x 8
## # Groups: par.causal, par.dist, par.h2, par.model [?]
## par.causal par.dist par.h2 par.model method AUC_mean AUC_boot N
## <fctr> <chr> <dbl> <chr> <chr> <dbl> <dbl> <int>
## 1 30 in HLA gaussian 0.5 fancy logit-simple 0.7792825 0.006778978 20
## 2 30 in HLA gaussian 0.5 fancy logit-triple 0.8098024 0.003979523 20
## 3 30 in HLA gaussian 0.5 fancy PRS-all 0.6107352 0.009057463 20
## 4 30 in HLA gaussian 0.5 fancy PRS-max 0.7295867 0.006131200 20
## 5 30 in HLA gaussian 0.5 fancy PRS-stringent 0.7201397 0.006390265 20
## 6 30 in HLA gaussian 0.5 simple logit-simple 0.8172830 0.003615811 20
## 7 30 in HLA gaussian 0.5 simple logit-triple 0.8153947 0.003672790 20
## 8 30 in HLA gaussian 0.5 simple PRS-all 0.6240243 0.004887050 20
## 9 30 in HLA gaussian 0.5 simple PRS-max 0.7507277 0.004054041 20
## 10 30 in HLA gaussian 0.5 simple PRS-stringent 0.7393806 0.004303672 20
## 11 30 in HLA gaussian 0.8 fancy logit-simple 0.8740717 0.005432324 20
## 12 30 in HLA gaussian 0.8 fancy logit-triple 0.9125343 0.002692576 20
## 13 30 in HLA gaussian 0.8 fancy PRS-all 0.6513709 0.006035204 20
## 14 30 in HLA gaussian 0.8 fancy PRS-max 0.8083270 0.006839761 20
## 15 30 in HLA gaussian 0.8 fancy PRS-stringent 0.7844375 0.007499301 20
## 16 30 in HLA gaussian 0.8 simple logit-simple 0.9290304 0.001716271 20
## 17 30 in HLA gaussian 0.8 simple logit-triple 0.9271774 0.001897093 20
## 18 30 in HLA gaussian 0.8 simple PRS-all 0.6762255 0.006897652 20
## 19 30 in HLA gaussian 0.8 simple PRS-max 0.8393841 0.004912664 20
## 20 30 in HLA gaussian 0.8 simple PRS-stringent 0.8187984 0.005186202 20
## 21 30 in HLA laplace 0.5 fancy logit-simple 0.7802401 0.007486053 20
## 22 30 in HLA laplace 0.5 fancy logit-triple 0.8074561 0.005355471 20
## 23 30 in HLA laplace 0.5 fancy PRS-all 0.6027719 0.007540163 20
## 24 30 in HLA laplace 0.5 fancy PRS-max 0.7405677 0.006879035 20
## 25 30 in HLA laplace 0.5 fancy PRS-stringent 0.7246475 0.007715123 20
## 26 30 in HLA laplace 0.5 simple logit-simple 0.8274996 0.003307451 20
## 27 30 in HLA laplace 0.5 simple logit-triple 0.8259934 0.003224903 20
## 28 30 in HLA laplace 0.5 simple PRS-all 0.6350365 0.007689262 20
## 29 30 in HLA laplace 0.5 simple PRS-max 0.7672153 0.005478210 20
## 30 30 in HLA laplace 0.5 simple PRS-stringent 0.7459086 0.004849171 20
## 31 30 in HLA laplace 0.8 fancy logit-simple 0.8764534 0.007351322 20
## 32 30 in HLA laplace 0.8 fancy logit-triple 0.9130184 0.003926679 20
## 33 30 in HLA laplace 0.8 fancy PRS-all 0.6605867 0.010342641 20
## 34 30 in HLA laplace 0.8 fancy PRS-max 0.8083362 0.007955574 20
## 35 30 in HLA laplace 0.8 fancy PRS-stringent 0.7903932 0.007956842 20
## 36 30 in HLA laplace 0.8 simple logit-simple 0.9245156 0.001666259 20
## 37 30 in HLA laplace 0.8 simple logit-triple 0.9227552 0.001692203 20
## 38 30 in HLA laplace 0.8 simple PRS-all 0.6784411 0.007218417 20
## 39 30 in HLA laplace 0.8 simple PRS-max 0.8305316 0.004587807 20
## 40 30 in HLA laplace 0.8 simple PRS-stringent 0.8109338 0.005503477 20
## 41 30 in all gaussian 0.5 fancy logit-simple 0.7856238 0.003871153 20
## 42 30 in all gaussian 0.5 fancy logit-triple 0.8119871 0.002939101 20
## 43 30 in all gaussian 0.5 fancy PRS-all 0.5459307 0.004616631 20
## 44 30 in all gaussian 0.5 fancy PRS-max 0.7712284 0.003735600 20
## 45 30 in all gaussian 0.5 fancy PRS-stringent 0.7594907 0.003972811 20
## 46 30 in all gaussian 0.5 simple logit-simple 0.8207275 0.003070008 20
## 47 30 in all gaussian 0.5 simple logit-triple 0.8185525 0.003198831 20
## 48 30 in all gaussian 0.5 simple PRS-all 0.5478161 0.005387027 20
## 49 30 in all gaussian 0.5 simple PRS-max 0.8017361 0.003987937 20
## 50 30 in all gaussian 0.5 simple PRS-stringent 0.7926147 0.004369573 20
## 51 30 in all gaussian 0.8 fancy logit-simple 0.8791372 0.004975668 20
## 52 30 in all gaussian 0.8 fancy logit-triple 0.9182189 0.003026337 20
## 53 30 in all gaussian 0.8 fancy PRS-all 0.5748752 0.004103763 20
## 54 30 in all gaussian 0.8 fancy PRS-max 0.8510274 0.005609587 20
## 55 30 in all gaussian 0.8 fancy PRS-stringent 0.8414967 0.005965623 20
## 56 30 in all gaussian 0.8 simple logit-simple 0.9321940 0.001189364 20
## 57 30 in all gaussian 0.8 simple logit-triple 0.9301498 0.001120639 20
## 58 30 in all gaussian 0.8 simple PRS-all 0.5798320 0.003246764 20
## 59 30 in all gaussian 0.8 simple PRS-max 0.9018355 0.002665063 20
## 60 30 in all gaussian 0.8 simple PRS-stringent 0.8862639 0.004053661 20
## 61 30 in all laplace 0.5 fancy logit-simple 0.7901588 0.007054740 20
## 62 30 in all laplace 0.5 fancy logit-triple 0.8203553 0.004402233 20
## 63 30 in all laplace 0.5 fancy PRS-all 0.5433082 0.004138373 20
## 64 30 in all laplace 0.5 fancy PRS-max 0.7730957 0.006481720 20
## 65 30 in all laplace 0.5 fancy PRS-stringent 0.7641409 0.006153876 20
## 66 30 in all laplace 0.5 simple logit-simple 0.8289256 0.002783593 20
## 67 30 in all laplace 0.5 simple logit-triple 0.8271722 0.002842897 20
## 68 30 in all laplace 0.5 simple PRS-all 0.5538776 0.005020918 20
## 69 30 in all laplace 0.5 simple PRS-max 0.8084505 0.003843437 20
## 70 30 in all laplace 0.5 simple PRS-stringent 0.8012329 0.004246384 20
## 71 30 in all laplace 0.8 fancy logit-simple 0.8804520 0.005856453 20
## 72 30 in all laplace 0.8 fancy logit-triple 0.9138281 0.002935565 20
## 73 30 in all laplace 0.8 fancy PRS-all 0.5713455 0.004407756 20
## 74 30 in all laplace 0.8 fancy PRS-max 0.8508758 0.005903180 20
## 75 30 in all laplace 0.8 fancy PRS-stringent 0.8404317 0.005546405 20
## 76 30 in all laplace 0.8 simple logit-simple 0.9338724 0.001940969 20
## 77 30 in all laplace 0.8 simple logit-triple 0.9326753 0.001970573 20
## 78 30 in all laplace 0.8 simple PRS-all 0.5834028 0.004155418 20
## 79 30 in all laplace 0.8 simple PRS-max 0.8969192 0.003142310 20
## 80 30 in all laplace 0.8 simple PRS-stringent 0.8880271 0.003051308 20
## 81 300 in all gaussian 0.5 fancy logit-simple 0.6688824 0.005159284 20
## 82 300 in all gaussian 0.5 fancy logit-triple 0.6922540 0.005523752 20
## 83 300 in all gaussian 0.5 fancy PRS-all 0.5433089 0.003610694 20
## 84 300 in all gaussian 0.5 fancy PRS-max 0.6581923 0.003925418 20
## 85 300 in all gaussian 0.5 fancy PRS-stringent 0.6172959 0.005649455 20
## 86 300 in all gaussian 0.5 simple logit-simple 0.7084752 0.005775482 20
## 87 300 in all gaussian 0.5 simple logit-triple 0.6968002 0.005735037 20
## 88 300 in all gaussian 0.5 simple PRS-all 0.5597247 0.003915466 20
## 89 300 in all gaussian 0.5 simple PRS-max 0.6918472 0.005366092 20
## 90 300 in all gaussian 0.5 simple PRS-stringent 0.6415031 0.005942902 20
## 91 300 in all gaussian 0.8 fancy logit-simple 0.7900459 0.004732309 20
## 92 300 in all gaussian 0.8 fancy logit-triple 0.8281346 0.003686055 20
## 93 300 in all gaussian 0.8 fancy PRS-all 0.5668535 0.003698994 20
## 94 300 in all gaussian 0.8 fancy PRS-max 0.7611189 0.004175000 20
## 95 300 in all gaussian 0.8 fancy PRS-stringent 0.7203422 0.007456779 20
## 96 300 in all gaussian 0.8 simple logit-simple 0.8524128 0.002258264 20
## 97 300 in all gaussian 0.8 simple logit-triple 0.8385568 0.002553361 20
## 98 300 in all gaussian 0.8 simple PRS-all 0.5875894 0.004304055 20
## 99 300 in all gaussian 0.8 simple PRS-max 0.8058507 0.002767798 20
## 100 300 in all gaussian 0.8 simple PRS-stringent 0.7564311 0.004179996 20
## 101 300 in all laplace 0.5 fancy logit-simple 0.7106360 0.005411390 20
## 102 300 in all laplace 0.5 fancy logit-triple 0.7300707 0.004683354 20
## 103 300 in all laplace 0.5 fancy PRS-all 0.5490041 0.003681072 20
## 104 300 in all laplace 0.5 fancy PRS-max 0.7007527 0.005620689 20
## 105 300 in all laplace 0.5 fancy PRS-stringent 0.6791602 0.006789518 20
## 106 300 in all laplace 0.5 simple logit-simple 0.7447200 0.004255033 20
## 107 300 in all laplace 0.5 simple logit-triple 0.7335065 0.004290544 20
## 108 300 in all laplace 0.5 simple PRS-all 0.5560735 0.003566632 20
## 109 300 in all laplace 0.5 simple PRS-max 0.7286772 0.004970907 20
## 110 300 in all laplace 0.5 simple PRS-stringent 0.6919212 0.004713797 20
## 111 300 in all laplace 0.8 fancy logit-simple 0.8061571 0.004847395 20
## 112 300 in all laplace 0.8 fancy logit-triple 0.8496283 0.003253838 20
## 113 300 in all laplace 0.8 fancy PRS-all 0.5590664 0.004376088 20
## 114 300 in all laplace 0.8 fancy PRS-max 0.7804064 0.004807278 20
## 115 300 in all laplace 0.8 fancy PRS-stringent 0.7587236 0.004878284 20
## 116 300 in all laplace 0.8 simple logit-simple 0.8663792 0.002205039 20
## 117 300 in all laplace 0.8 simple logit-triple 0.8551435 0.002564611 20
## 118 300 in all laplace 0.8 simple PRS-all 0.5848090 0.002632504 20
## 119 300 in all laplace 0.8 simple PRS-max 0.8213986 0.005594285 20
## 120 300 in all laplace 0.8 simple PRS-stringent 0.7929856 0.005743121 20
## 121 3000 in all gaussian 0.5 fancy logit-simple 0.5236621 0.004913812 20
## 122 3000 in all gaussian 0.5 fancy logit-triple 0.5242958 0.004686909 20
## 123 3000 in all gaussian 0.5 fancy PRS-all 0.5331167 0.004263489 20
## 124 3000 in all gaussian 0.5 fancy PRS-max 0.5518667 0.003077550 20
## 125 3000 in all gaussian 0.5 fancy PRS-stringent 0.5000000 0.000000000 20
## 126 3000 in all gaussian 0.5 simple logit-simple 0.5423966 0.004522266 20
## 127 3000 in all gaussian 0.5 simple logit-triple 0.5354326 0.004948788 20
## 128 3000 in all gaussian 0.5 simple PRS-all 0.5474403 0.004105793 20
## 129 3000 in all gaussian 0.5 simple PRS-max 0.5648709 0.003558725 20
## 130 3000 in all gaussian 0.5 simple PRS-stringent 0.5020973 0.001415433 20
## 131 3000 in all gaussian 0.8 fancy logit-simple 0.5737183 0.004469151 20
## 132 3000 in all gaussian 0.8 fancy logit-triple 0.5691679 0.004940755 20
## 133 3000 in all gaussian 0.8 fancy PRS-all 0.5566300 0.005059745 20
## 134 3000 in all gaussian 0.8 fancy PRS-max 0.5821464 0.003584739 20
## 135 3000 in all gaussian 0.8 fancy PRS-stringent 0.5042297 0.002626359 20
## 136 3000 in all gaussian 0.8 simple logit-simple 0.5875772 0.004307471 20
## 137 3000 in all gaussian 0.8 simple logit-triple 0.5723997 0.003924531 20
## 138 3000 in all gaussian 0.8 simple PRS-all 0.5819342 0.004482918 20
## 139 3000 in all gaussian 0.8 simple PRS-max 0.5972854 0.003425626 20
## 140 3000 in all gaussian 0.8 simple PRS-stringent 0.5026332 0.002052428 20
## 141 3000 in all laplace 0.5 fancy logit-simple 0.5556580 0.004531955 20
## 142 3000 in all laplace 0.5 fancy logit-triple 0.5564935 0.005122790 20
## 143 3000 in all laplace 0.5 fancy PRS-all 0.5404193 0.004245429 20
## 144 3000 in all laplace 0.5 fancy PRS-max 0.5703121 0.003854990 20
## 145 3000 in all laplace 0.5 fancy PRS-stringent 0.5264433 0.005826008 20
## 146 3000 in all laplace 0.5 simple logit-simple 0.5701644 0.005113616 20
## 147 3000 in all laplace 0.5 simple logit-triple 0.5638845 0.004680081 20
## 148 3000 in all laplace 0.5 simple PRS-all 0.5604324 0.005171089 20
## 149 3000 in all laplace 0.5 simple PRS-max 0.5821935 0.003552123 20
## 150 3000 in all laplace 0.5 simple PRS-stringent 0.5149187 0.004375803 20
## 151 3000 in all laplace 0.8 fancy logit-simple 0.6168390 0.004040020 20
## 152 3000 in all laplace 0.8 fancy logit-triple 0.6178760 0.004285434 20
## 153 3000 in all laplace 0.8 fancy PRS-all 0.5619015 0.005535427 20
## 154 3000 in all laplace 0.8 fancy PRS-max 0.6088659 0.003100672 20
## 155 3000 in all laplace 0.8 fancy PRS-stringent 0.5426294 0.007598108 20
## 156 3000 in all laplace 0.8 simple logit-simple 0.6478068 0.005216577 20
## 157 3000 in all laplace 0.8 simple logit-triple 0.6250480 0.004822444 20
## 158 3000 in all laplace 0.8 simple PRS-all 0.5779923 0.003872393 20
## 159 3000 in all laplace 0.8 simple PRS-max 0.6259128 0.004952222 20
## 160 3000 in all laplace 0.8 simple PRS-stringent 0.5501769 0.006717548 20
compare_logit(bind_rows(results1, results2), with_method = "logit-triple")
## # A tibble: 32 x 8
## # Groups: par.causal, par.dist, par.h2, par.model [?]
## par.causal par.dist par.h2 par.model method AUC_mean AUC_boot N
## <fctr> <chr> <dbl> <chr> <chr> <dbl> <dbl> <int>
## 1 30 in HLA gaussian 0.8 fancy logit-simple 0.8792874 0.004896725 25
## 2 30 in HLA gaussian 0.8 fancy logit-triple 0.9141385 0.002356405 25
## 3 30 in HLA gaussian 0.8 simple logit-simple 0.9317051 0.001797435 25
## 4 30 in HLA gaussian 0.8 simple logit-triple 0.9297347 0.001887540 25
## 5 30 in HLA laplace 0.8 fancy logit-simple 0.8813360 0.006223119 25
## 6 30 in HLA laplace 0.8 fancy logit-triple 0.9154816 0.003318952 25
## 7 30 in HLA laplace 0.8 simple logit-simple 0.9256559 0.001552867 25
## 8 30 in HLA laplace 0.8 simple logit-triple 0.9240276 0.001611596 25
## 9 30 in all gaussian 0.8 fancy logit-simple 0.8788152 0.004214520 25
## 10 30 in all gaussian 0.8 fancy logit-triple 0.9185858 0.002552037 25
## 11 30 in all gaussian 0.8 simple logit-simple 0.9322255 0.001127066 25
## 12 30 in all gaussian 0.8 simple logit-triple 0.9303623 0.001134216 25
## 13 30 in all laplace 0.8 fancy logit-simple 0.8830078 0.004880809 25
## 14 30 in all laplace 0.8 fancy logit-triple 0.9158081 0.002808075 25
## 15 30 in all laplace 0.8 simple logit-simple 0.9320789 0.001886848 25
## 16 30 in all laplace 0.8 simple logit-triple 0.9308360 0.001925656 25
## 17 300 in all gaussian 0.8 fancy logit-simple 0.7879717 0.003927808 25
## 18 300 in all gaussian 0.8 fancy logit-triple 0.8285485 0.002989142 25
## 19 300 in all gaussian 0.8 simple logit-simple 0.8524748 0.001917118 25
## 20 300 in all gaussian 0.8 simple logit-triple 0.8387199 0.002109776 25
## 21 300 in all laplace 0.8 fancy logit-simple 0.8101231 0.004691287 25
## 22 300 in all laplace 0.8 fancy logit-triple 0.8508580 0.003105004 25
## 23 300 in all laplace 0.8 simple logit-simple 0.8651983 0.001887679 25
## 24 300 in all laplace 0.8 simple logit-triple 0.8539370 0.002202519 25
## 25 3000 in all gaussian 0.8 fancy logit-simple 0.5737505 0.004042915 25
## 26 3000 in all gaussian 0.8 fancy logit-triple 0.5712562 0.004447283 25
## 27 3000 in all gaussian 0.8 simple logit-simple 0.5881969 0.003769228 25
## 28 3000 in all gaussian 0.8 simple logit-triple 0.5724451 0.003337235 25
## 29 3000 in all laplace 0.8 fancy logit-simple 0.6199920 0.003563718 25
## 30 3000 in all laplace 0.8 fancy logit-triple 0.6193114 0.003500581 25
## 31 3000 in all laplace 0.8 simple logit-simple 0.6448325 0.004498131 25
## 32 3000 in all laplace 0.8 simple logit-triple 0.6226916 0.004170522 25
ggsave("figures/supp-triple.pdf", scale = 1/90, width = 1400, height = 1060)
results2.summary %>%
filter(grepl("logit", method)) %>%
barplot_causal_one(h2 = 0.5) +
facet_grid(par.dist ~ par.model) +
labs(y = "Mean of 20 AUCs")
ggsave("figures/supp-AUC-triple.pdf", scale = 1/90, width = 1242, height = 951)
results2.summary %>%
filter(par.model == "fancy", method %in% c("logit-simple", "PRS-max")) %>%
barplot_causal_all() +
labs(y = "Mean of 20 AUCs")
ggsave("figures/supp-AUC-logit-fancy.pdf", scale = 1/90, width = 1242, height = 951)
results2.summary %>%
filter(par.model == "fancy", grepl("PRS", method)) %>%
barplot_causal_all() +
labs(y = "Mean of 20 AUCs")
ggsave("figures/supp-AUC-PRS-fancy.pdf", scale = 1/90, width = 1242, height = 951)
results3 <- list.files(paste0("results", 2:3), full.names = TRUE) %>%
map_dfr(~readRDS(.x)) %>%
filter(method != "logit-triple", par.model != "fancy") %>%
format_results()
results3_corr <- results3 %>%
filter(method %in% c("logit-simple", "PRS-max")) %>%
mutate(
percCases10 = map_dbl(eval, ~mean(.x[order(.x[, 1], decreasing = TRUE)[1:110], 2])),
percCases20 = map_dbl(eval, ~mean(.x[order(.x[, 1], decreasing = TRUE)[1:220], 2])),
Parameters = interaction(paste("h2 =", par.h2), par.dist, method, sep = " | ")
)
p1 <- results3_corr %>%
myggplot(aes(AUC, percCases10, color = Parameters)) +
geom_point(size = 0.6, alpha = 0.5) +
geom_smooth(aes(linetype = Parameters), method = "lm", se = FALSE, size = 2) +
theme(legend.key.width = unit(3.5, "line"),
legend.direction = "horizontal") +
labs(y = "Proportion of cases among top 10% scores")
p2 <- results3_corr %>%
myggplot(aes(AUC, percCases20, color = Parameters)) +
geom_point(size = 0.6, alpha = 0.5) +
geom_smooth(aes(linetype = Parameters), method = "lm", se = FALSE, size = 2) +
labs(y = "Proportion of cases among top 20% scores") +
theme(legend.position = "none")
cowplot::plot_grid(p1 + theme(legend.position = "none"), p2 ,
ncol = 2, align = "hv", scale = 0.95) %>%
cowplot::plot_grid(cowplot::get_legend(p1), ., rel_heights = c(0.1, 1), ncol = 1)
ggsave("figures/supp-AUC-corr.pdf", scale = 1/90, width = 1558, height = 737)
with(results3_corr, cor(AUC, percCases10))
## [1] 0.9820442
with(results3_corr, cor(AUC, percCases20))
## [1] 0.9844871
results3.summary <- results3 %>%
group_by_at(c(vars(starts_with("par")), "method")) %>%
summarise(AUC_mean = mean(AUC), AUC_boot = boot(AUC), N = n()) %>%
print(n = Inf)
## # A tibble: 64 x 8
## # Groups: par.causal, par.dist, par.h2, par.model [?]
## par.causal par.dist par.h2 par.model method AUC_mean AUC_boot N
## <fctr> <chr> <dbl> <chr> <chr> <dbl> <dbl> <int>
## 1 30 in HLA gaussian 0.5 simple logit-simple 0.8215138 0.0016053399 100
## 2 30 in HLA gaussian 0.5 simple PRS-all 0.6208354 0.0031314069 100
## 3 30 in HLA gaussian 0.5 simple PRS-max 0.7581877 0.0020773411 100
## 4 30 in HLA gaussian 0.5 simple PRS-stringent 0.7444115 0.0022009356 100
## 5 30 in HLA gaussian 0.8 simple logit-simple 0.9270953 0.0008874270 100
## 6 30 in HLA gaussian 0.8 simple PRS-all 0.6858963 0.0041035020 100
## 7 30 in HLA gaussian 0.8 simple PRS-max 0.8335420 0.0023295339 100
## 8 30 in HLA gaussian 0.8 simple PRS-stringent 0.8187655 0.0024992544 100
## 9 30 in HLA laplace 0.5 simple logit-simple 0.8228045 0.0015293463 100
## 10 30 in HLA laplace 0.5 simple PRS-all 0.6245922 0.0036957717 100
## 11 30 in HLA laplace 0.5 simple PRS-max 0.7683690 0.0021796287 100
## 12 30 in HLA laplace 0.5 simple PRS-stringent 0.7492045 0.0021834399 100
## 13 30 in HLA laplace 0.8 simple logit-simple 0.9260258 0.0010844696 100
## 14 30 in HLA laplace 0.8 simple PRS-all 0.6862192 0.0040496376 100
## 15 30 in HLA laplace 0.8 simple PRS-max 0.8360309 0.0027234452 100
## 16 30 in HLA laplace 0.8 simple PRS-stringent 0.8164376 0.0028045831 100
## 17 30 in all gaussian 0.5 simple logit-simple 0.8236327 0.0012807177 100
## 18 30 in all gaussian 0.5 simple PRS-all 0.5501103 0.0018974387 100
## 19 30 in all gaussian 0.5 simple PRS-max 0.8047386 0.0018212419 100
## 20 30 in all gaussian 0.5 simple PRS-stringent 0.7953069 0.0021942729 100
## 21 30 in all gaussian 0.8 simple logit-simple 0.9331065 0.0007988324 100
## 22 30 in all gaussian 0.8 simple PRS-all 0.5834275 0.0018878495 100
## 23 30 in all gaussian 0.8 simple PRS-max 0.9015985 0.0013956528 100
## 24 30 in all gaussian 0.8 simple PRS-stringent 0.8893346 0.0016633767 100
## 25 30 in all laplace 0.5 simple logit-simple 0.8256319 0.0013254522 100
## 26 30 in all laplace 0.5 simple PRS-all 0.5535134 0.0020862088 100
## 27 30 in all laplace 0.5 simple PRS-max 0.8037359 0.0016964876 100
## 28 30 in all laplace 0.5 simple PRS-stringent 0.7950288 0.0017785160 100
## 29 30 in all laplace 0.8 simple logit-simple 0.9321861 0.0009127198 100
## 30 30 in all laplace 0.8 simple PRS-all 0.5826541 0.0019706939 100
## 31 30 in all laplace 0.8 simple PRS-max 0.8946384 0.0017944974 100
## 32 30 in all laplace 0.8 simple PRS-stringent 0.8840427 0.0017068184 100
## 33 300 in all gaussian 0.5 simple logit-simple 0.7130403 0.0020282967 100
## 34 300 in all gaussian 0.5 simple PRS-all 0.5555424 0.0019238573 100
## 35 300 in all gaussian 0.5 simple PRS-max 0.6935772 0.0021700631 100
## 36 300 in all gaussian 0.5 simple PRS-stringent 0.6365745 0.0031220920 100
## 37 300 in all gaussian 0.8 simple logit-simple 0.8470890 0.0012437153 100
## 38 300 in all gaussian 0.8 simple PRS-all 0.5823561 0.0018676582 100
## 39 300 in all gaussian 0.8 simple PRS-max 0.8052640 0.0015719898 100
## 40 300 in all gaussian 0.8 simple PRS-stringent 0.7483761 0.0021253285 100
## 41 300 in all laplace 0.5 simple logit-simple 0.7497129 0.0018264285 100
## 42 300 in all laplace 0.5 simple PRS-all 0.5498312 0.0017311727 100
## 43 300 in all laplace 0.5 simple PRS-max 0.7342035 0.0019753855 100
## 44 300 in all laplace 0.5 simple PRS-stringent 0.7013776 0.0022866833 100
## 45 300 in all laplace 0.8 simple logit-simple 0.8675637 0.0010476466 100
## 46 300 in all laplace 0.8 simple PRS-all 0.5775197 0.0020168774 100
## 47 300 in all laplace 0.8 simple PRS-max 0.8263028 0.0018739564 100
## 48 300 in all laplace 0.8 simple PRS-stringent 0.7975410 0.0020997992 100
## 49 3000 in all gaussian 0.5 simple logit-simple 0.5402287 0.0019715932 100
## 50 3000 in all gaussian 0.5 simple PRS-all 0.5471109 0.0019459643 100
## 51 3000 in all gaussian 0.5 simple PRS-max 0.5640415 0.0014831043 100
## 52 3000 in all gaussian 0.5 simple PRS-stringent 0.5011300 0.0004978461 100
## 53 3000 in all gaussian 0.8 simple logit-simple 0.5930936 0.0017426321 100
## 54 3000 in all gaussian 0.8 simple PRS-all 0.5815471 0.0018698540 100
## 55 3000 in all gaussian 0.8 simple PRS-max 0.6009236 0.0016823122 100
## 56 3000 in all gaussian 0.8 simple PRS-stringent 0.5047278 0.0013393899 100
## 57 3000 in all laplace 0.5 simple logit-simple 0.5667637 0.0022191897 100
## 58 3000 in all laplace 0.5 simple PRS-all 0.5546344 0.0019575145 100
## 59 3000 in all laplace 0.5 simple PRS-max 0.5772290 0.0015595892 100
## 60 3000 in all laplace 0.5 simple PRS-stringent 0.5126266 0.0019870041 100
## 61 3000 in all laplace 0.8 simple logit-simple 0.6425784 0.0021110894 100
## 62 3000 in all laplace 0.8 simple PRS-all 0.5756465 0.0019220667 100
## 63 3000 in all laplace 0.8 simple PRS-max 0.6249136 0.0018907643 100
## 64 3000 in all laplace 0.8 simple PRS-stringent 0.5498968 0.0028053676 100
results3.summary %>%
filter(method %in% c("logit-simple", "PRS-max")) %>%
barplot_causal_one(h2 = 0.8)
ggsave("figures/main-AUC-logit.pdf", scale = 1/90, width = 844, height = 872)
results3.summary %>%
filter(grepl("PRS", method)) %>%
barplot_causal_one(h2 = 0.8)
ggsave("figures/main-AUC-PRS.pdf", scale = 1/90, width = 844, height = 872)
results3.summary %>%
filter(method %in% c("logit-simple", "PRS-max")) %>%
barplot_causal_one(h2 = 0.5)
ggsave("figures/supp-AUC-logit.pdf", scale = 1/90, width = 844, height = 872)
results3.summary %>%
filter(grepl("PRS", method)) %>%
barplot_causal_one(h2 = 0.5)
ggsave("figures/supp-AUC-PRS.pdf", scale = 1/90, width = 844, height = 872)
results4 <- list.files("results4", full.names = TRUE) %>%
map_dfr(~readRDS(.x)) %>%
format_results()
results4 %>%
group_by_at(c(vars(starts_with("par")), "method")) %>%
summarise(AUC_mean = mean(AUC), AUC_boot = boot(AUC), N = n()) %>%
print(n = Inf)
## # A tibble: 64 x 8
## # Groups: par.causal, par.dist, par.h2, par.model [?]
## par.causal par.dist par.h2 par.model method AUC_mean AUC_boot N
## <fctr> <chr> <dbl> <chr> <chr> <dbl> <dbl> <int>
## 1 30 in HLA gaussian 0.5 simple logit-simple 0.8273761 0.0014620812 100
## 2 30 in HLA gaussian 0.5 simple PRS-all 0.7225191 0.0025004515 100
## 3 30 in HLA gaussian 0.5 simple PRS-max 0.7594796 0.0020799680 100
## 4 30 in HLA gaussian 0.5 simple PRS-stringent 0.7479693 0.0022350866 100
## 5 30 in HLA gaussian 0.8 simple logit-simple 0.9304637 0.0007440294 100
## 6 30 in HLA gaussian 0.8 simple PRS-all 0.7930617 0.0026838690 100
## 7 30 in HLA gaussian 0.8 simple PRS-max 0.8357841 0.0023880606 100
## 8 30 in HLA gaussian 0.8 simple PRS-stringent 0.8170666 0.0023255642 100
## 9 30 in HLA laplace 0.5 simple logit-simple 0.8259939 0.0015731375 100
## 10 30 in HLA laplace 0.5 simple PRS-all 0.7192382 0.0026644403 100
## 11 30 in HLA laplace 0.5 simple PRS-max 0.7649946 0.0022730789 100
## 12 30 in HLA laplace 0.5 simple PRS-stringent 0.7475525 0.0024910676 100
## 13 30 in HLA laplace 0.8 simple logit-simple 0.9308943 0.0009296591 100
## 14 30 in HLA laplace 0.8 simple PRS-all 0.7958780 0.0025021641 100
## 15 30 in HLA laplace 0.8 simple PRS-max 0.8411322 0.0024704697 100
## 16 30 in HLA laplace 0.8 simple PRS-stringent 0.8192751 0.0024441280 100
## 17 30 in all gaussian 0.5 simple logit-simple 0.8293349 0.0013115125 100
## 18 30 in all gaussian 0.5 simple PRS-all 0.6674592 0.0021467807 100
## 19 30 in all gaussian 0.5 simple PRS-max 0.8006913 0.0018846280 100
## 20 30 in all gaussian 0.5 simple PRS-stringent 0.7871514 0.0024980039 100
## 21 30 in all gaussian 0.8 simple logit-simple 0.9334058 0.0008277494 100
## 22 30 in all gaussian 0.8 simple PRS-all 0.7423832 0.0019460199 100
## 23 30 in all gaussian 0.8 simple PRS-max 0.8902233 0.0020850556 100
## 24 30 in all gaussian 0.8 simple PRS-stringent 0.8712800 0.0033135415 100
## 25 30 in all laplace 0.5 simple logit-simple 0.8306959 0.0012557796 100
## 26 30 in all laplace 0.5 simple PRS-all 0.6702213 0.0018992784 100
## 27 30 in all laplace 0.5 simple PRS-max 0.8017617 0.0019091474 100
## 28 30 in all laplace 0.5 simple PRS-stringent 0.7861851 0.0026937531 100
## 29 30 in all laplace 0.8 simple logit-simple 0.9349700 0.0009115446 100
## 30 30 in all laplace 0.8 simple PRS-all 0.7473191 0.0019623040 100
## 31 30 in all laplace 0.8 simple PRS-max 0.8890306 0.0024225731 100
## 32 30 in all laplace 0.8 simple PRS-stringent 0.8742507 0.0028162045 100
## 33 300 in all gaussian 0.5 simple logit-simple 0.7641844 0.0014809940 100
## 34 300 in all gaussian 0.5 simple PRS-all 0.6651117 0.0018823434 100
## 35 300 in all gaussian 0.5 simple PRS-max 0.7134166 0.0025395533 100
## 36 300 in all gaussian 0.5 simple PRS-stringent 0.6107265 0.0030909571 100
## 37 300 in all gaussian 0.8 simple logit-simple 0.8871248 0.0009534030 100
## 38 300 in all gaussian 0.8 simple PRS-all 0.7362195 0.0018224395 100
## 39 300 in all gaussian 0.8 simple PRS-max 0.7865674 0.0035241232 100
## 40 300 in all gaussian 0.8 simple PRS-stringent 0.7003632 0.0026873676 100
## 41 300 in all laplace 0.5 simple logit-simple 0.7823657 0.0015673363 100
## 42 300 in all laplace 0.5 simple PRS-all 0.6692717 0.0018069232 100
## 43 300 in all laplace 0.5 simple PRS-max 0.7316657 0.0023290090 100
## 44 300 in all laplace 0.5 simple PRS-stringent 0.6790545 0.0022767822 100
## 45 300 in all laplace 0.8 simple logit-simple 0.8976960 0.0010699955 100
## 46 300 in all laplace 0.8 simple PRS-all 0.7406376 0.0021013495 100
## 47 300 in all laplace 0.8 simple PRS-max 0.8086806 0.0038578306 100
## 48 300 in all laplace 0.8 simple PRS-stringent 0.7616079 0.0037741117 100
## 49 3000 in all gaussian 0.5 simple logit-simple 0.6753110 0.0018486561 100
## 50 3000 in all gaussian 0.5 simple PRS-all 0.6647694 0.0017842412 100
## 51 3000 in all gaussian 0.5 simple PRS-max 0.6691055 0.0017497866 100
## 52 3000 in all gaussian 0.5 simple PRS-stringent 0.5084379 0.0020330382 100
## 53 3000 in all gaussian 0.8 simple logit-simple 0.7773676 0.0015060634 100
## 54 3000 in all gaussian 0.8 simple PRS-all 0.7347811 0.0017896883 100
## 55 3000 in all gaussian 0.8 simple PRS-max 0.7376926 0.0017822453 100
## 56 3000 in all gaussian 0.8 simple PRS-stringent 0.5190131 0.0031704751 100
## 57 3000 in all laplace 0.5 simple logit-simple 0.6892420 0.0016100522 100
## 58 3000 in all laplace 0.5 simple PRS-all 0.6648594 0.0017653842 100
## 59 3000 in all laplace 0.5 simple PRS-max 0.6716360 0.0018882388 100
## 60 3000 in all laplace 0.5 simple PRS-stringent 0.5133627 0.0024438245 100
## 61 3000 in all laplace 0.8 simple logit-simple 0.7951309 0.0014764113 100
## 62 3000 in all laplace 0.8 simple PRS-all 0.7339140 0.0016852667 100
## 63 3000 in all laplace 0.8 simple PRS-max 0.7391223 0.0017690837 100
## 64 3000 in all laplace 0.8 simple PRS-stringent 0.5474388 0.0038433034 100
results34 <- rbind(
cbind(simu = "all", results3),
cbind(simu = "chr6", results4)
) %>%
as_tibble()
results34 %>%
myggplot() +
geom_hline(yintercept = 0.5, linetype = 2) +
geom_hline(aes(yintercept = auc_max), linetype = 3, color = "blue",
data = data.frame(par.h2 = c(0.5, 0.8), auc_max = c(0.84, 0.94))) +
geom_boxplot(aes(method, AUC, fill = simu, color = simu), alpha = 0.3) +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
facet_grid(par.model ~ par.causal) +
facet_grid(par.h2 + par.dist ~ par.causal) +
scale_fill_brewer(type = "qual", palette = 2) +
scale_color_brewer(type = "qual", palette = 2) +
labs(x = "Method")
ggsave("figures/supp-AUC-chr6.pdf", scale = 1/90, width = 1153, height = 908)
results5 <- list.files("results5", full.names = TRUE) %>%
map_dfr(~readRDS(.x)) %>%
format_results()
results5.summary <- results5 %>%
group_by_at(c(vars(starts_with("par")), "method", "n.train")) %>%
summarise(AUC_mean = mean(AUC), AUC_boot = boot(AUC), N = n()) %>%
print(n = Inf)
## # A tibble: 80 x 9
## # Groups: par.causal, par.dist, par.h2, par.model, method [?]
## par.causal par.dist par.h2 par.model method n.train AUC_mean AUC_boot N
## <fctr> <chr> <dbl> <chr> <chr> <dbl> <dbl> <dbl> <int>
## 1 300 in all gaussian 0.5 simple logit-simple 1000 0.5239542 0.0018487410 100
## 2 300 in all gaussian 0.5 simple logit-simple 2000 0.5740147 0.0018524243 100
## 3 300 in all gaussian 0.5 simple logit-simple 3000 0.6238913 0.0018324091 100
## 4 300 in all gaussian 0.5 simple logit-simple 4000 0.6634131 0.0016484439 100
## 5 300 in all gaussian 0.5 simple logit-simple 5000 0.6918836 0.0016610251 100
## 6 300 in all gaussian 0.5 simple PRS-all 1000 0.5202559 0.0008730158 100
## 7 300 in all gaussian 0.5 simple PRS-all 2000 0.5299842 0.0009582303 100
## 8 300 in all gaussian 0.5 simple PRS-all 3000 0.5357946 0.0009413387 100
## 9 300 in all gaussian 0.5 simple PRS-all 4000 0.5427830 0.0012212952 100
## 10 300 in all gaussian 0.5 simple PRS-all 5000 0.5466338 0.0016049855 100
## 11 300 in all gaussian 0.5 simple PRS-max 1000 0.5358167 0.0012525177 100
## 12 300 in all gaussian 0.5 simple PRS-max 2000 0.5733343 0.0017747360 100
## 13 300 in all gaussian 0.5 simple PRS-max 3000 0.6155515 0.0015590827 100
## 14 300 in all gaussian 0.5 simple PRS-max 4000 0.6490288 0.0017619914 100
## 15 300 in all gaussian 0.5 simple PRS-max 5000 0.6747166 0.0017585660 100
## 16 300 in all gaussian 0.5 simple PRS-stringent 1000 0.5030269 0.0011749320 100
## 17 300 in all gaussian 0.5 simple PRS-stringent 2000 0.5135454 0.0022841492 100
## 18 300 in all gaussian 0.5 simple PRS-stringent 3000 0.5478168 0.0031220629 100
## 19 300 in all gaussian 0.5 simple PRS-stringent 4000 0.5872800 0.0027288705 100
## 20 300 in all gaussian 0.5 simple PRS-stringent 5000 0.6137216 0.0023790399 100
## 21 300 in all gaussian 0.8 simple logit-simple 1000 0.5695833 0.0025027783 100
## 22 300 in all gaussian 0.8 simple logit-simple 2000 0.6779019 0.0019583988 100
## 23 300 in all gaussian 0.8 simple logit-simple 3000 0.7439188 0.0017396481 100
## 24 300 in all gaussian 0.8 simple logit-simple 4000 0.7939789 0.0013449864 100
## 25 300 in all gaussian 0.8 simple logit-simple 5000 0.8265081 0.0012032889 100
## 26 300 in all gaussian 0.8 simple PRS-all 1000 0.5337083 0.0007818395 100
## 27 300 in all gaussian 0.8 simple PRS-all 2000 0.5470539 0.0008657849 100
## 28 300 in all gaussian 0.8 simple PRS-all 3000 0.5557531 0.0010333219 100
## 29 300 in all gaussian 0.8 simple PRS-all 4000 0.5652703 0.0009892562 100
## 30 300 in all gaussian 0.8 simple PRS-all 5000 0.5750104 0.0011667905 100
## 31 300 in all gaussian 0.8 simple PRS-max 1000 0.5712264 0.0022165677 100
## 32 300 in all gaussian 0.8 simple PRS-max 2000 0.6551196 0.0019734897 100
## 33 300 in all gaussian 0.8 simple PRS-max 3000 0.7100872 0.0018565322 100
## 34 300 in all gaussian 0.8 simple PRS-max 4000 0.7560750 0.0017438160 100
## 35 300 in all gaussian 0.8 simple PRS-max 5000 0.7831453 0.0016761581 100
## 36 300 in all gaussian 0.8 simple PRS-stringent 1000 0.5083682 0.0021308998 100
## 37 300 in all gaussian 0.8 simple PRS-stringent 2000 0.5714397 0.0038362939 100
## 38 300 in all gaussian 0.8 simple PRS-stringent 3000 0.6321122 0.0028882367 100
## 39 300 in all gaussian 0.8 simple PRS-stringent 4000 0.6835617 0.0025293811 100
## 40 300 in all gaussian 0.8 simple PRS-stringent 5000 0.7215995 0.0018651271 100
## 41 300 in all laplace 0.5 simple logit-simple 1000 0.5631811 0.0031323040 100
## 42 300 in all laplace 0.5 simple logit-simple 2000 0.6443865 0.0027804169 100
## 43 300 in all laplace 0.5 simple logit-simple 3000 0.6854414 0.0020383729 100
## 44 300 in all laplace 0.5 simple logit-simple 4000 0.7117366 0.0013498513 100
## 45 300 in all laplace 0.5 simple logit-simple 5000 0.7308034 0.0015822828 100
## 46 300 in all laplace 0.5 simple PRS-all 1000 0.5229728 0.0007351662 100
## 47 300 in all laplace 0.5 simple PRS-all 2000 0.5291398 0.0009239284 100
## 48 300 in all laplace 0.5 simple PRS-all 3000 0.5349783 0.0009471727 100
## 49 300 in all laplace 0.5 simple PRS-all 4000 0.5414322 0.0010923076 100
## 50 300 in all laplace 0.5 simple PRS-all 5000 0.5441681 0.0014981870 100
## 51 300 in all laplace 0.5 simple PRS-max 1000 0.5685933 0.0025435150 100
## 52 300 in all laplace 0.5 simple PRS-max 2000 0.6391377 0.0026843631 100
## 53 300 in all laplace 0.5 simple PRS-max 3000 0.6753906 0.0021497633 100
## 54 300 in all laplace 0.5 simple PRS-max 4000 0.6975217 0.0015837601 100
## 55 300 in all laplace 0.5 simple PRS-max 5000 0.7147227 0.0016660157 100
## 56 300 in all laplace 0.5 simple PRS-stringent 1000 0.5185771 0.0035605866 100
## 57 300 in all laplace 0.5 simple PRS-stringent 2000 0.5917252 0.0046526611 100
## 58 300 in all laplace 0.5 simple PRS-stringent 3000 0.6396298 0.0032020620 100
## 59 300 in all laplace 0.5 simple PRS-stringent 4000 0.6620125 0.0023958632 100
## 60 300 in all laplace 0.5 simple PRS-stringent 5000 0.6821053 0.0023521766 100
## 61 300 in all laplace 0.8 simple logit-simple 1000 0.6473914 0.0036782226 100
## 62 300 in all laplace 0.8 simple logit-simple 2000 0.7476187 0.0022007375 100
## 63 300 in all laplace 0.8 simple logit-simple 3000 0.8027560 0.0013400125 100
## 64 300 in all laplace 0.8 simple logit-simple 4000 0.8337768 0.0012542806 100
## 65 300 in all laplace 0.8 simple logit-simple 5000 0.8513614 0.0010936134 100
## 66 300 in all laplace 0.8 simple PRS-all 1000 0.5327867 0.0008174385 100
## 67 300 in all laplace 0.8 simple PRS-all 2000 0.5456226 0.0009357268 100
## 68 300 in all laplace 0.8 simple PRS-all 3000 0.5576734 0.0009407684 100
## 69 300 in all laplace 0.8 simple PRS-all 4000 0.5658105 0.0010970442 100
## 70 300 in all laplace 0.8 simple PRS-all 5000 0.5742621 0.0015383594 100
## 71 300 in all laplace 0.8 simple PRS-max 1000 0.6393342 0.0037949058 100
## 72 300 in all laplace 0.8 simple PRS-max 2000 0.7250039 0.0023665223 100
## 73 300 in all laplace 0.8 simple PRS-max 3000 0.7676317 0.0016824344 100
## 74 300 in all laplace 0.8 simple PRS-max 4000 0.7966704 0.0014806706 100
## 75 300 in all laplace 0.8 simple PRS-max 5000 0.8088163 0.0020241037 100
## 76 300 in all laplace 0.8 simple PRS-stringent 1000 0.5686777 0.0057386259 100
## 77 300 in all laplace 0.8 simple PRS-stringent 2000 0.6726454 0.0040715712 100
## 78 300 in all laplace 0.8 simple PRS-stringent 3000 0.7277399 0.0026315496 100
## 79 300 in all laplace 0.8 simple PRS-stringent 4000 0.7596770 0.0020671814 100
## 80 300 in all laplace 0.8 simple PRS-stringent 5000 0.7785163 0.0023232081 100
results35.summary <- results3.summary %>%
filter(par.causal == "300 in all") %>%
cbind.data.frame(n.train = 6000) %>%
bind_rows(results5.summary)
myggplot(results35.summary, aes(n.train, AUC_mean, color = method, linetype = method)) +
geom_hline(yintercept = 0.5, linetype = 2) +
geom_hline(aes(yintercept = auc_max), linetype = 3, color = "blue",
data = data.frame(par.h2 = c(0.5, 0.8), auc_max = c(0.84, 0.94))) +
geom_line(size = 1.5) +
geom_errorbar(aes(ymin = AUC_mean - 2 * AUC_boot,
ymax = AUC_mean + 2 * AUC_boot),
size = 1.5, width = 0) +
facet_grid(par.h2 ~ par.dist) +
scale_x_continuous(breaks = 1:6 * 1000, minor_breaks = NULL) +
scale_y_continuous(minor_breaks = 0:20 / 20) +
scale_color_manual(values = methods.color) +
labs(x = "Size of the training set", y = "Mean of 100 AUCs",
color = "Method", linetype = "Method") +
theme(legend.key.width = unit(3, "line"))
ggsave("figures/main-AUC-ntrain.pdf", scale = 1/90, width = 1050, height = 800)